From 1b1ed88cea00ab65a51af60f83a305b9455a5691 Mon Sep 17 00:00:00 2001 From: Rohan Shah Date: Fri, 13 Nov 2026 14:24:57 -0800 Subject: [PATCH] feat(third_party): add the Runta plugin Connect agents to Runta's hosted MCP server at https://mcp.runta.com/mcp to create and manage persistent agent runtimes, run commands, publish ports, and manage egress, checkpoints, images, VNC, and SSH access. Co-authored-by: Cursor --- .cursor-plugin/marketplace.json | 5 ++ README.md | 1 + third_party/runta/.cursor-plugin/plugin.json | 37 +++++++++++ third_party/runta/CHANGELOG.md | 9 +++ third_party/runta/LICENSE | 21 ++++++ third_party/runta/README.md | 66 +++++++++++++++++++ third_party/runta/assets/logo.png | Bin 0 -> 27539 bytes third_party/runta/mcp.json | 8 +++ 8 files changed, 147 insertions(+) create mode 100644 third_party/runta/.cursor-plugin/plugin.json create mode 100644 third_party/runta/CHANGELOG.md create mode 100644 third_party/runta/LICENSE create mode 100644 third_party/runta/README.md create mode 100644 third_party/runta/assets/logo.png create mode 100644 third_party/runta/mcp.json diff --git a/.cursor-plugin/marketplace.json b/.cursor-plugin/marketplace.json index d27e3d8d3..501e71648 100644 --- a/.cursor-plugin/marketplace.json +++ b/.cursor-plugin/marketplace.json @@ -732,6 +732,11 @@ "name": "squarespace", "source": "third_party/squarespace", "description": "Brainstorm business names and check domain availability, pricing, and checkout links on Squarespace." + }, + { + "name": "runta", + "source": "third_party/runta", + "description": "Create and run persistent agent runtimes, publish ports, and manage egress, checkpoints, and images in Runta." } ] } diff --git a/README.md b/README.md index 3e13281f1..3c4ad8048 100644 --- a/README.md +++ b/README.md @@ -134,6 +134,7 @@ Official Cursor plugins for popular developer tools, frameworks, and SaaS produc | `paypal` | [PayPal](third_party/paypal/) | Cursor | Integrations | Work with invoices, orders, refunds, subscriptions, disputes, and transactions in PayPal. | | `engine` | [Engine](third_party/engine/) | Cursor | Integrations | Search and book hotels, shorten or cancel stays, and check support cases in Engine. | | `squarespace` | [Squarespace](third_party/squarespace/) | Cursor | Integrations | Brainstorm business names and check domain availability, pricing, and checkout links on Squarespace. | +| `runta` | [Runta](third_party/runta/) | Cursor | Integrations | Create and run persistent agent runtimes, publish ports, and manage egress, checkpoints, and images in Runta. | Author values match each plugin’s `plugin.json` `author.name` (Cursor lists `plugins@cursor.com` in the manifest). ## Repository structure diff --git a/third_party/runta/.cursor-plugin/plugin.json b/third_party/runta/.cursor-plugin/plugin.json new file mode 100644 index 000000000..67a04c87a --- /dev/null +++ b/third_party/runta/.cursor-plugin/plugin.json @@ -0,0 +1,37 @@ +{ + "name": "runta", + "displayName": "Runta", + "version": "1.0.0", + "minClientVersions": { + "cursor": "3.13.0" + }, + "description": "Create and run persistent agent runtimes, publish ports, and manage egress, checkpoints, and images in Runta.", + "author": { + "name": "Cursor", + "email": "plugins@cursor.com" + }, + "homepage": "https://runta.com/docs/integrations/mcp/", + "repository": "https://github.com/cursor/plugins", + "license": "MIT", + "logo": "assets/logo.png", + "keywords": [ + "runta", + "agent runtime", + "persistent runtime", + "sandbox", + "cloud computer", + "checkpoints", + "egress", + "ssh", + "vnc", + "mcp" + ], + "category": "integrations", + "tags": [ + "runta", + "runtime", + "infrastructure", + "mcp" + ], + "mcpServers": "./mcp.json" +} diff --git a/third_party/runta/CHANGELOG.md b/third_party/runta/CHANGELOG.md new file mode 100644 index 000000000..99d25172a --- /dev/null +++ b/third_party/runta/CHANGELOG.md @@ -0,0 +1,9 @@ +# Changelog + +All notable changes to this plugin will be documented here. + +## 1.0.0 — initial release + +- Added the `runta` MCP server pointing at Runta's hosted Streamable HTTP endpoint (`https://mcp.runta.com/mcp`). +- Auth uses OAuth with Runta sign-in (`api.runta.com`, scopes `runtime:read` and `runtime:manage`). Runta identifies clients with Client ID Metadata Documents instead of dynamic client registration, so there is no client ID or API key to configure. +- Logo: Runta's fox mark, the 256×256 favicon published on runta.com. diff --git a/third_party/runta/LICENSE b/third_party/runta/LICENSE new file mode 100644 index 000000000..ca2bba771 --- /dev/null +++ b/third_party/runta/LICENSE @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2026 Cursor + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/third_party/runta/README.md b/third_party/runta/README.md new file mode 100644 index 000000000..eb3ba69b2 --- /dev/null +++ b/third_party/runta/README.md @@ -0,0 +1,66 @@ +# Runta + +Cursor plugin that connects agents to [Runta](https://runta.com) through Runta's official remote [Model Context Protocol](https://modelcontextprotocol.io/) server. + +Create and manage persistent Runta runtimes for AI agents: start, pause, resize, and delete them, run commands, publish ports over HTTPS, set egress policy, take and restore checkpoints, build runtime images, and manage VNC desktop and SSH access. + +## Install + +1. Open **Cursor Settings → Plugins**. +2. Search for **Runta**. +3. Click **Install**, then complete the Runta sign-in prompt. + +Or run `/add-plugin runta` in chat. + +## MCP + +```json +{ + "mcpServers": { + "runta": { + "type": "http", + "url": "https://mcp.runta.com/mcp" + } + } +} +``` + +Auth is OAuth with PKCE through Runta sign-in at `api.runta.com`, with the `runtime:read` and `runtime:manage` scopes. Runta identifies clients with Client ID Metadata Documents instead of dynamic client registration, so there is no client ID, secret, or API key to configure. When you connect, Runta's consent page opens in your browser: check that the client is Cursor, pick the organization, and approve. Tool calls run as you, with your organization role. + +## What agents can do + +| Area | Tools | +| --- | --- | +| Account | `whoami` | +| Runtimes | `list_runtimes`, `get_runtime`, `create_runtime`, `start_runtime`, `stop_runtime`, `pause_runtime`, `resume_runtime`, `resize_runtime`, `set_idle_policy`, `delete_runtime` | +| Commands | `run_command` | +| Published ports | `list_ports`, `publish_port`, `unpublish_port` | +| Egress | `get_egress`, `set_egress_policy`, `set_token_saving` | +| Checkpoints | `list_checkpoints`, `create_checkpoint`, `restore_checkpoint`, `delete_checkpoint` | +| Runtime images | `list_runtime_images`, `build_runtime_image`, `list_runtime_image_builds`, `cancel_runtime_image_build`, `delete_runtime_image` | +| VNC desktop | `get_vnc`, `enable_vnc`, `disable_vnc`, `list_vnc_credentials`, `create_vnc_credential`, `revoke_vnc_credential` | +| SSH access | `list_ssh_keys`, `list_runtime_ssh_keys`, `attach_ssh_key`, `detach_ssh_key` | + +The hosted server is the source of truth for tool names and schemas. Runta publishes the tool reference at https://runta.com/docs/integrations/mcp/. + +## Notes + +- You need a Runta account in an organization. Sign up at https://dashboard.runta.com. +- The server can change and delete data: creating and deleting runtimes, running commands, and restoring checkpoints are all tool calls. Each tool says whether it reads, changes, or deletes, so Cursor can ask before running a change. Approve each one deliberately. +- Changing a runtime that another member owns needs the Owner or Admin role. +- Lifecycle tools return once Runta accepts the request. The agent then checks progress with `get_runtime`, `list_checkpoints`, or `list_runtime_image_builds`. +- `run_command` runs one non-interactive command and returns its output. For an interactive shell, use `runta exec` or SSH. The server can't copy files from your computer (use `runta cp`), and `build_runtime_image` can't `COPY` local files. +- Anyone with the URL of a published port can reach the service on it. +- The server does not manage secrets, billing, API keys, or organization members. + +## Docs + +- Runta MCP server: https://runta.com/docs/integrations/mcp/ +- Runta docs: https://runta.com/docs/ +- Server URL: https://mcp.runta.com/mcp + +Logo is Runta's fox mark, the 256×256 favicon published on runta.com. + +## License + +MIT diff --git a/third_party/runta/assets/logo.png b/third_party/runta/assets/logo.png new file mode 100644 index 0000000000000000000000000000000000000000..a641e57147bb7570907d1fc1337d0d5788f87362 GIT binary patch literal 27539 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